/**
 * A macro for defining the programms that are needed to redirect the mouse
 * events of a part to the implementation of Efl.Ui.Clickable.
 *
 * The Widget using this has to call the method bind_to_theme of Efl.Ui.Clickable_Util
 * in order to redirect the here called signals to real events that can be used in code.
 * The resulting events on the widget will be from the Efl.Ui.Clickable class.
 */

#define EFL_UI_CLICKABLE_PART_BIND(PART) \
program { \
   signal: "mouse,down,1"; source: PART; \
   action: SIGNAL_EMIT "efl,action,press" "efl"; \
} \
program { \
   signal: "mouse,down,1,*"; source: PART; \
   action: SIGNAL_EMIT "efl,action,press" "efl"; \
} \
program { \
   signal: "mouse,up,1"; source: PART;  \
   action: SIGNAL_EMIT "efl,action,unpress" "efl";  \
}  \
program { \
   signal: "mouse,pressed,out"; source: PART; \
   action: SIGNAL_EMIT "efl,action,mouse_out" "efl"; \
}
